package db

import (
	"context"
	"database/sql"
)

type txKey struct{}

type Tx struct {
	Tx *sql.Tx
	Db *DB
}

func (t *Tx) GetCore() Core {
	return t.Db.GetCore()
}

func (t *Tx) ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error) {
	return t.Tx.ExecContext(ctx, query, args...)
}

func (t *Tx) QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) {
	return t.Tx.QueryContext(ctx, query, args...)
}

func (t *Tx) Commit() error {
	return t.Tx.Commit()
}

func (t *Tx) Rollback() error {
	return t.Tx.Rollback()
}
